home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / language / embedded / mcu11 / gloade9a.arc / GBLANKE9.ASM < prev    next >
Assembly Source File  |  1991-08-13  |  5KB  |  132 lines

  1. ******************************************************************************
  2. ******************************************************************************
  3. *                                                                            *
  4. *                  Routine to Verify E9 EPROM is Blank                       *
  5. *                                                                            *
  6. ******************************************************************************
  7. *                                                                            *
  8. * Program Name: GBLANKE9.ASM                                                 *
  9. * Revision: 0.02                                                             *
  10. * Date: 8/13/91                                                              *
  11. * Written By: Robert Chretien                                                *
  12. *             Motorola MCU Applications                                      *
  13. * Assembled Under: Motorola Portable Cross Assembler (PASM) or               *
  14. *                  Motorola Freeware Assembler (AS11)                        *
  15. * Program Description:                                                       *
  16. *                                                                            *
  17. *                                                                            *
  18. *                                                                            *
  19. *                                                                            *
  20. *                                                                            *
  21. ******************************************************************************
  22. *                                                                            *
  23. * Revision Descriptions:                                                     *
  24. * 1. Rev 0.01: Original program. Modified from GBLANKD3.ASM Rev 0.02.        *
  25. * 2. Rev 0.02: Gets boot ROM start address from boot reset vector rather     *
  26. *              than assuming it will always stay the same.                   *
  27. *                                                                            *
  28. *                                                                            *
  29. *                                                                            *
  30. ******************************************************************************
  31. ******************************************************************************
  32.  
  33. RAM          EQU        $0000
  34. REGS         EQU        $1000
  35. Eprom        EQU        $D000
  36. Vectors         EQU    $FFD6
  37. PortA        EQU        REGS+$00
  38. PortC        EQU        REGS+$03
  39. PortB        EQU        REGS+$04
  40. DDRC         EQU        REGS+$07
  41. PortD        EQU        REGS+$08
  42. DDRD         EQU        REGS+$09
  43. CFORC        EQU        REGS+$0B
  44. TCNT         EQU        REGS+$0E
  45. TOC2         EQU        REGS+$18
  46. TCTL1        EQU        REGS+$20
  47. TCTL2        EQU        REGS+$21
  48. TMSK1        EQU        REGS+$22
  49. TFLG1        EQU        REGS+$23
  50. TMSK2        EQU        REGS+$24
  51. TFLG2        EQU        REGS+$25
  52. PACTL        EQU        REGS+$26
  53. Baud         EQU        REGS+$2B
  54. SCCR2        EQU        REGS+$2D
  55. SCSR         EQU        REGS+$2E
  56. SCDR         EQU        REGS+$2F
  57. OPTION       EQU        REGS+$39
  58. *
  59. *
  60. *
  61. FileLength   EQU     RAM
  62. Address      EQU     RAM+1
  63. RecordLength EQU     RAM+3
  64. CheckSum     EQU     RAM+4
  65. BoardAddress EQU     RAM+5
  66. *
  67. *
  68. *
  69.              ORG     RAM
  70. Initial      LDS     #$00FF               !Set stack pointer to $FF.
  71.              LDAA    #$30
  72.              STAA    Baud                 !With 8MHz crystal, baud=9600.
  73.              LDAA    #$0C
  74.              STAA    SCCR2                !Transmitter and receiver enabled.
  75.              LDAA    #%00100000
  76.              STAA    DDRD
  77.              STAA    PortD
  78. *
  79. *
  80. *
  81.              CLR     CheckSum
  82.              LDX     #$D000
  83. CalCheckSum  LDAA    0,X
  84.              CMPA    #$FF
  85.              BEQ     OKThisPass
  86.              LDAA    #$01
  87.              STAA    CheckSum
  88.              LDAA    #$00
  89.              STAA    PortD
  90. OKThisPass   INX
  91.              CPX     #$0000
  92.              BNE     CalCheckSum
  93. CalAddress   LDAA    PortD
  94.              LSRA
  95.              LSRA
  96.              ANDA    #%00000111
  97.              STAA    BoardAddress
  98. BootRecAddr  LDAA    BoardAddress
  99.              JSR     Wait4Rec
  100.              CBA
  101.              BNE     Boot4Last
  102.              STAA    SCDR
  103.              JSR     Wait4Rec
  104.              LDAA    CheckSum
  105.              STAA    SCDR
  106. Boot4Last    CMPB    #08
  107.              BNE     BootRecAddr
  108.              BSR     Wait4Rec
  109.              LDX     $BFFE
  110.              JMP     0,X                  !Jump back to Boot ROM.
  111. *
  112. *
  113. *
  114. Wait4Rec     LDAB    SCSR
  115.              ANDB    #%00100000
  116.              BEQ     Wait4Rec
  117.              LDAB    SCDR
  118.              RTS
  119. *
  120. *
  121. *
  122. Wait4Trans   LDAA    SCSR
  123.              ANDA    #%10000000
  124.              BEQ     Wait4Trans
  125.              RTS
  126. *
  127. *
  128. *
  129. END          EQU     *
  130.              END
  131.  
  132.